#footer
{background-color: #f5f5f5;}
#main{padding-top:50px;}
.container .credit{margin: 20px 0;}

.css-form input.ng-invalid.ng-dirty {background-color: #FAA1E8;}
.css-form input.ng-valid.ng-dirty {background-color: #C1FCC8;}

.iseven {opacity: 0.7;}
.number {margin-top: 15px;}
.number p{position: absolute;top: 110px;left: 500px;}
.number input{position: absolute;top: 140px;left: 500px;}
.number img{position: absolute;top: 170px;left: 500px;width: 700px;}
.expander {margin-top: 15px;border: 1px solid black;width: 250px;}
.expander>.title {background-color: black;color: white;padding: .1em .3em;cursor: pointer;}
.expander>.body {padding: .1em .3em;}

.chart { margin-top: 18px; width: 80%; }
.chart input{ margin: 10px 10px 10px 10px; }
circle { cursor: pointer; stroke: steelblue; fill-opacity: .1; stroke-width: 1.5px; }
line { stroke: #999; }
svg { font: 10px sans-serif;}
path.link { fill: none; stroke: #ccc; stroke-width: 1.5px;}
.line { fill: none; stroke: #000; stroke-width: 1.5px;}
.axis path,.axis line { fill: none; stroke: #000; shape-rendering: crispEdges;}
canvas {margin-left: 100px; background: #000;}

.node { cursor: pointer;}
.label { font: 11px "Helvetica Neue", Helvetica, Arial, sans-serif; text-anchor: middle; text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff;}
.label,.node--root,.node--leaf { pointer-events: none;}

/*焦点加上下文*/
.line.line0 { stroke: steelblue;}
.line.line1 { stroke: indianred;}
.overlay { fill: none; pointer-events: all;}
.focus circle { fill: none;}
.focus circle.y0 { stroke: blue;}
.focus circle.y1 { stroke: red;}
.focus line { stroke: purple; shape-rendering: crispEdges;}
.focus line.y0 { stroke: steelblue; stroke-dasharray: 3 3; opacity: .5;}
.focus line.y1 { stroke: indianred; stroke-dasharray: 3 3; opacity: .5;}
.brush .extent { stroke: #fff; fill-opacity: .125; shape-rendering: crispEdges;}

.area { fill: steelblue; clip-path: url(#clip);}
.brush .extent { stroke: #fff; fill-opacity: .125; shape-rendering: crispEdges;}